#include "head.h"


	Split_Node_EDMR::Split_Node_EDMR(){}
	Split_Node_EDMR::Split_Node_EDMR(Object* o, char category){
		this->o=o;
		this->category=category;
	}	
	void Split_Node_EDMR::increase_category(){
		category++;
	}	

	
	
	
	
	ESN_EDMR::ESN_EDMR(){}
	ESN_EDMR::ESN_EDMR(Object* o, char category, Edge* e, float distance, bool desc_direction):Split_Node_EDMR(o, category){
		this->e=e;
		this->distance=distance;
		this->desc_direction;
	}
	bool ESN_EDMR::operator <(ESN_EDMR esn){
		return (this->distance < esn.distance);
	}
	bool ESN_EDMR::operator >(ESN_EDMR esn){
		return (this->distance >= esn.distance);
	}
	
	
	
	
	
	VSN_EDMR::VSN_EDMR(){}
	VSN_EDMR::VSN_EDMR(Object* o, char category, Vertex* v):Split_Node_EDMR(o, category){
		this->v=v;
	}	
	void VSN_EDMR::insert_ascset(Edge* e){
        asc_set.push_back(e);
	}	
	void VSN_EDMR::insert_descset(Edge* e){
		desc_set.push_back(e);
	}	
	void VSN_EDMR::change_asc_to_desc(Edge* e){
		desc_set.push_back(e);
		asc_set.remove(e);
	}
	void VSN_EDMR::change_desc_to_asc(Edge* e){
		asc_set.push_back(e);
		desc_set.remove(e);
	}
	
	
	
